package com.downloading.bezoyaapp;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

import com.downloading.bezoyaapp.entities.Alimento;
import com.downloading.bezoyaapp.entities.Recetario;
import com.downloading.bezoyaapp.getData.DBData;
import com.downloading.bezoyaapp.getData.ReadData;
import com.downloading.bezoyaapp.lists.ListWithNameAdapter;
import com.downloading.bezoyaapp.lists.OnlyNameListIntem;
import com.downloading.bezoyaapp.support.utils.Constraints;

import downloading.fragmentos.URLtoDrawable.UrlImageViewHelper;

public class AlimentoScreen extends Activity {

	private Recetario recetario;
	private Alimento alimento;

	private ReadData data;

	ImageView imagenAlimento;
	TextView nombreAlimento;
	TextView tipoAlimento;
	TextView descripcionAlimento;
	TextView nutrientesAlimento;
	TextView recomendadoAlimento;
	ListView recetasAlimento;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_alimento);

		imagenAlimento = (ImageView) findViewById(R.id.alimento_foto_image);
		nombreAlimento = (TextView) findViewById(R.id.alimento_nombre_text);
		tipoAlimento = (TextView) findViewById(R.id.alimento_tipo_text);
		descripcionAlimento = (TextView) findViewById(R.id.alimento_cuando_text);
		nutrientesAlimento = (TextView) findViewById(R.id.alimento_nutrientes_text);
		recomendadoAlimento = (TextView) findViewById(R.id.alimento_recomendado_text);
		recetasAlimento = (ListView) findViewById(R.id.alimento_recetas_list);
		data = new DBData(this);

	}

	@Override
	protected void onResume() {
		super.onResume();

		Bundle bundle = getIntent().getExtras();
		int idAlimento = 0;

		try {
			idAlimento = bundle.getInt(Constraints.ALIMENTO);
		} catch (Exception e) {
		}

		inizialice(idAlimento);
	}

	private void inizialice(int idAlimento) {

		ArrayList<OnlyNameListIntem> recetasNombre = new ArrayList<OnlyNameListIntem>();

		alimento = recetario.getAlimentoById(idAlimento);

		UrlImageViewHelper.setUrlDrawable(imagenAlimento, alimento.getFoto());
		nombreAlimento.setText(alimento.getName());
		tipoAlimento.setText(alimento.getTipo());
		descripcionAlimento.setText(alimento.getDescripcion());
		try {
			nutrientesAlimento.setText(alimento.getNutrientes().toString());
		} catch (Exception e) {
			// TODO: handle exception
		}
		recomendadoAlimento.setText(alimento.getRecomendado());

		recetasAlimento
				.setAdapter(new ListWithNameAdapter(recetasNombre, this));

		recetasAlimento.setOnItemClickListener(new ClickerHandler());
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_alimento, menu);
		return true;
	}

	class ClickerHandler implements OnItemClickListener {

		@Override
		public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
				long arg3) {

			int id = (Integer) arg1.getTag();
			Intent intent = new Intent(AlimentoScreen.this, RecetaScreen.class);
			Bundle bundle = new Bundle();
			bundle.putInt(Constraints.RECETA, (int) id);
			intent.putExtras(bundle);

			startActivity(intent);
		}

	}
}
